Skip to content

std: Destabilize io::BufStream #25009

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
May 5, 2015

Conversation

alexcrichton
Copy link
Member

As pointed out in #17136 the semantics of a BufStream aren't always what one
expects, and it looks like other languages like C# implement a
buffered stream with only one underlying buffer. For now this commit
destabilizes the primitive in the std::io module to give us some more time in
figuring out what to do with it.

[breaking-change]

As pointed out in rust-lang#17136 the semantics of a `BufStream` aren't always what one
expects, and it looks like other [languages like C#][c-sharp] implement a
buffered stream with only one underlying buffer. For now this commit
destabilizes the primitive in the `std::io` module to give us some more time in
figuring out what to do with it.

[c-sharp]: https://msdn.microsoft.com/en-us/library/system.io.bufferedstream%28v=vs.110%29.aspx

[breaking-change]
@rust-highfive
Copy link
Contributor

r? @pcwalton

(rust_highfive has picked a reviewer for you, use r? to override)

@alexcrichton
Copy link
Member Author

r? @aturon

@rust-highfive rust-highfive assigned aturon and unassigned pcwalton Apr 30, 2015
@alexcrichton alexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Apr 30, 2015
@alexcrichton
Copy link
Member Author

cc @sfackler

@alexcrichton
Copy link
Member Author

I will also publish a crate for bufstream on crates.io if the demand is great enough, but it looks like there are only ~10 crates using it today, so I haven't taken this step quite just yet.

@sfackler
Copy link
Member

I mean, rust-postgres is going to need a buffered stream or it'll slow down by one or two orders of magnitude.

@alexcrichton
Copy link
Member Author

@sfackler yeah this is definitely not suggesting the primitive is not useful, we're just unclear that having two buffers is the right semantics for this to have.

@aturon
Copy link
Member

aturon commented May 5, 2015

@bors: r+ p=10 (breaking change)

@bors
Copy link
Collaborator

bors commented May 5, 2015

📌 Commit db477ee has been approved by aturon

@bors
Copy link
Collaborator

bors commented May 5, 2015

⌛ Testing commit db477ee with merge eae692e...

bors added a commit that referenced this pull request May 5, 2015
As pointed out in #17136 the semantics of a `BufStream` aren't always what one
expects, and it looks like other [languages like C#][c-sharp] implement a
buffered stream with only one underlying buffer. For now this commit
destabilizes the primitive in the `std::io` module to give us some more time in
figuring out what to do with it.

[c-sharp]: https://msdn.microsoft.com/en-us/library/system.io.bufferedstream%28v=vs.110%29.aspx

[breaking-change]
@bors
Copy link
Collaborator

bors commented May 5, 2015

💔 Test failed - auto-linux-32-opt

@sfackler
Copy link
Member

sfackler commented May 5, 2015

@bors retry

@bors
Copy link
Collaborator

bors commented May 5, 2015

@bors
Copy link
Collaborator

bors commented May 5, 2015

@bors bors merged commit db477ee into rust-lang:master May 5, 2015
@alexcrichton alexcrichton deleted the less-buffered-stream branch May 7, 2015 21:10
@alexcrichton alexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label May 7, 2015
@brson brson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label May 8, 2015
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants